home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-07-28 | 3.9 KB | 150 lines | [TEXT/MPS ] |
- // Copyright (c) 1993 Regents of the University of Michigan. All rights reserved.
-
- /* ==========================================================================
- Procs, Parse & Authi routines for the ldap CSAM.
- ^^^^^
-
- Written by: Gavin Eadie • The University of Michigan Information Systems
- Phone: (313) 936-0816
- AppleLink: A67
- Internet: gavin@umich.edu
-
- History: Sep08/92 Split off from dixieDSAM.c (Gav)
- Jan04/93 1.0a10 First try with AOCE a13 ... Gav
- Jan21/93 1.0a13 clean up the parse callback DSSpec's ... Gav
- Jan27/93 1.0a14 no revisions for AOCE 1.0a14 ... Gav
- Mar10/93 1.0a16 all MacsBug calls removed ... Gav
- Mar16/93 1.0a17 revisions for AOCE 1.0b1 ... Gav
- Jun21/93 1.0a27 change ldap_result to return one entry
- at a time to avoid uncontrollable memory
- consumption by the ldaprtns ... Gav
- Jun25/93 1.0a29 improvement in name/attr callbacks ... Gav
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Jul26/93 1.0b1 "Find" works ... Gav
- Aug10/93 1.0b4 'Log_' replaced by 'Audit_' ... Gav
-
- ========================================================================== */
-
-
- #include "Headers.H"
-
- // --------------------------------------------------------------------------
- // Dir_Parse • parse functions
- //
- // --------------------------------------------------------------------------
- OSErr Dir_Parse(MyDashGlobals * dGlobals, DirParamBlockPtr ds_PB) {
- unsigned long My_A5;
- OSErr Dir_Error = kOCEParamErr;
-
- switch (ds_PB->header.reqCode) {
-
- //eject
- // --- kDirEnumerateParse ---------------------------------------------------
- //
- case kDirEnumerateParse: {
- Audit_PString('PARZ', "\pkDirEnumerateParse");
-
- My_A5 = SetA5(ds_PB->header.saveA5);
-
- DirEnumerateParse_Done:
- SetA5(My_A5);
- break;
- }
-
- //eject
- // --- kDirFindRecordParse ---------------------------------------------------
- //
- case kDirFindRecordParse: {
- Audit_PString('PARZ', "\pkDirFindRecordParse");
-
- My_A5 = SetA5(ds_PB->header.saveA5);
-
-
- DirFindRecordParse_Done:
- SetA5(My_A5);
- break;
- }
-
- //eject
- // --- kDirLookupParse ------------------------------------------------------
- //
- case kDirLookupParse: {
- Audit_PString('PARZ', "\pkDirLookupParse");
-
- My_A5 = SetA5(ds_PB->header.saveA5);
-
-
- DirLookupParse_Done:
- SetA5(My_A5);
- break;
- }
-
- //eject
- // --- kDirEnumerateAttributeTypesParse -------------------------------------
- //
- case kDirEnumerateAttributeTypesParse: {
- Audit_PString('PARZ', "\pkDirEnumerateAttributeTypesParse");
-
- My_A5 = SetA5(ds_PB->header.saveA5);
-
- DirEnumerateAttributeTypesParse_Done:
- Dir_Error = noErr;
- SetA5(My_A5);
- break;
- }
-
- // --------------------------------------------------------------------------
- //
- // A C C E S S C O N T R O L C A L L S
- //
- // --- GetDNodeAccessControlParse -------------------------------------------
- //
- case kDirGetDNodeAccessControlParse: {
- Audit_PString('PARZ', "\pkDirGetDNodeAccessControlParse");
- Audit_PackedRLI(ds_PB->getDNodeAccessControlParsePB.pRLI);
-
- My_A5 = SetA5(ds_PB->header.saveA5);
-
-
- DirGetDNodeAccessControlParse_Done:
- SetA5(My_A5);
- break;
- }
-
- // --- kDirGetRecordAccessControlParse --------------------------------------
- //
- case kDirGetRecordAccessControlParse: {
- Audit_PString('PARZ', "\pkDirGetRecordAccessControlParse");
-
- My_A5 = SetA5(ds_PB->header.saveA5);
-
-
- DirGetRecordAccessControlParse_Done:
- SetA5(My_A5);
- break;
- }
-
- // --- kDirGetAttributeAccessControlParse -----------------------------------
- //
- case kDirGetAttributeAccessControlParse: {
- Audit_PString('PARZ', "\pkDirGetAttributeAccessControlParse");
-
- My_A5 = SetA5(ds_PB->header.saveA5);
-
-
- DirGetAttributeAccessControlParse_Done:
- Dir_Error = noErr;
- SetA5(My_A5);
- break;
- }
-
- // --------------------------------------------------------------------------
- //
- default:
- Audit_PString('PARZ', "\p< unknown >");
- Dir_Error = kOCEParamErr;
- }
-
- return (Dir_Error);
- }
-